package com.example.activityservice.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.time.LocalDateTime;

@Data
@TableName("activity") // 对应数据库表名
public class Activity {
    @TableId(type = IdType.AUTO) // 主键自增（与数据库配置一致）
    private Long id;

    private String title; // 活动标题
    private String content; // 活动内容
    private String location; // 活动地点
    private LocalDateTime startTime; // 开始时间（对应数据库 datetime）
    private LocalDateTime endTime; // 结束时间
    private Long organizerId; // 组织者ID（管理员）

    @TableField("status") // 状态（1-未发布,2-已发布,3-进行中,4-已结束）
    private Integer status;

    private Integer maxParticipants; // 最大参与人数

    // 合并重复声明，保留自动填充配置
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime; // 创建时间（自动填充）

    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime; // 更新时间（自动填充）
}
